This invention relates generally to management techniques for a communications network and, more particularly, to a system and method for completing, monitoring, and maintaining a connection in the communications network.
There are many types of calls that are performed in various communications networks. The public switched telephone network (xe2x80x9cPSTNxe2x80x9d) handles voice calls between two voice terminals and has been adapted to handle data calls between two data terminals through use of modems and the like. Likewise, many data networks, such as the internet, handle data and voice calls between two terminals.
One type of data network is an ATM network. ATM, or asynchronous transfer mode, is a method for transmitting and receiving information around a network of switches and routers and is defined according to the International Telecommunications Union-Telecommunications Services Sector (ITU-T). An ATM network includes one or more ATM switches for handling multiple connections between two or more endpoints. The ATM network may be within a building, or can span several countries.
One key feature of ATM is that it is designed to allow different services such as video, voice and computer data to be mixed simultaneously on the same network. This is because ATM networks utilize xe2x80x9ccellsxe2x80x9d for carrying information. Each cell has a 5 byte header and a 48 byte payload, thereby setting a fixed size of 53 bytes. The fixed cell size of ATM is beneficial because it allows traffic to flow in a predictable manner, which works well with services such as voice and video.
In an ATM network, the path between any two end points is set up once for any particular call. Once the path is established, the cells only contain the identity of that path. This helps the ATM network work at high speeds, increases predictability and leads to the concept of specialized paths called xe2x80x9cvirtual circuits.xe2x80x9d
A virtual circuit is a path between two end devices that appears to a user to be a dedicated point-to-point circuit. An ATM network has multiple ways of setting up and grouping virtual circuits, including a permanent virtual circuit and a switched virtual circuit. A permanent virtual circuit (xe2x80x9cPVCxe2x80x9d) is a connection that is set up by an administrator of the ATM network and exists even if no traffic is using the circuit. Also, a PVC has fixed parameters, independent of the traffic pattern using the path. Although a PVC is not an efficient use of bandwidth, it is still desirable because it does not have to be setup or torn down for each call.
A switched virtual circuit (xe2x80x9cSVCxe2x80x9d) is a connection that only exists when there is actual traffic to be sent down that path. An SVC has variable parameters that will change depending on the traffic pattern. The SVC is desirable because it uses the bandwidth of the ATM network more efficiently than a PVC. However, because each SVC requires that a path be connected and disconnected through multiple ATM switches for each call, it is a labor intensive process. Most ATM switches can not perform this process very quickly (e.g., the maximum number of SVC""s that can be setup per second is relatively low).
ATM networks often serve as a xe2x80x9cbackbonexe2x80x9d connecting two or more non-ATM networks. For example, a computer network which uses Ethernet may be connected to another Ethernet network via an ATM network. A router is used at each interface between the ATM and Ethernet networks to control access and to translate between the Ethernet data stream (having packets of variable length) and the ATM data stream (having cells of fixed length). Two or more telephone networks may also be connected via an ATM backbone. An access interface device (similar to the router in a computer network) is required at the connection point between the ATM and telephone networks to control access and to convert between the continuous voice streams of the telephone networks and the data stream of fixed length ATM cells. In large ATM and telephone networks, each access interface (AI) device has very many channels, or ports, so that one port is available for each path through the ATM network.
One common telephone network that is connected to an ATM network is a time division multiplexing (TDM) network. A TDM network provides a way to merge data from several sources into a single channel for communication over telephone lines, a microwave system or a satellite system. This single channel is divided into time slots and each transmitting device is assigned at least one of the time slots for its transmission.
However, telephone networks require many voice paths through the ATM network. And as discussed above, while SVCs are desirable to efficiently use the bandwidth of the ATM network, they cannot be setup and torn down quickly enough to properly handle many telephone networks. Further still, problems with path integrity and re-use of SVCs in an ATM network further reduce the quality of service provided by conventional ATM networks using SVCs.
It is desired to more efficiently use an ATM network as a backbone between two or more other networks such as TDM networks.
It is also desired to provide increase integrity of an SVC in an ATM network when connected between two or more other voice networks such as TDM networks. Integrity is significant to ensuring quality of service in a voice-on-ATM network, particularly in the case where (semi) permanent paths through the ATM network are to be reused over many calls.
It is further desired to prevent an SVC in an ATM network from being simultaneously used by two different calls. Such prevention supports the reuse of SVCs over many calls.
The present invention, accordingly, provides an application and method for analyzing a virtual circuit in a data network. The data network may include multiple switches and connect to multiple devices and/or networks. In one embodiment, the data network interconnects at least two telecommunications networks through at least two interface devices, one for each telecommunications network. A virtual circuit is created in the data network between the two telecommunications networks, connecting to the first telecommunications network through a port of the first interface device and to the second telecommunications network through a port of the second interface device.
The method transfers a data value from the port of the first interface device to the port of the second interface device through the virtual circuit. The data value identifies the two ports. In this way, the data value can later be examined to determine a status of the virtual circuit. For example, if no data value is ever received, the status of the virtual circuit is that no data is flowing and the virtual circuit has been corrupted. If the data value is changed, the status of the virtual circuit is that data is flowing, but there may have been a premature re-use of the virtual circuit.
One problem with the virtual circuit occurs when two ports are simultaneously trying to initiate a call on the same virtual circuit, i.e., a glare condition. This can happen when using cached virtual circuits. The above-described method can detect the glare condition when it examines the received data value.
In one embodiment, the data network is an asynchronous transfer mode (xe2x80x9cATMxe2x80x9d) network and the two telecommunications networks are time division multiplexing networks. In this embodiment, the method can be part of an application that exists on the fifth (upper-most) layer of the ATM protocol reference model. This works well with calls that contain either voice or video data.
One benefit of the present invention, with respect to the embodiments described above, is that information is passed between two endpoints in a voice-on-ATM call to ensure the continuing existence of the voice-path.
Another benefit of the present invention, with respect to the embodiments described above, is that a glare condition or premature reuse of a path through a network can be detected.
Yet another benefit of the present invention, with respect to the embodiments described above, is that it can be easily implemented by an application on the upper-most layer of the network model, without requiring any new hardware.